home *** CD-ROM | disk | FTP | other *** search
/ Amoszine 3 / Amoszine 3.adf / Celebrity_source / dual_playfield_fade.AMOS / dual_playfield_fade.amosSourceCode
AMOS Source Code  |  1992-02-26  |  8KB  |  271 lines

  1. ' *************************************************************
  2. '
  3. '          Appear/Fade Program Using Dual Playfield  
  4. '
  5. '                 - ** By Paul Nordovics ** -
  6. '
  7. '            The Proc Will Open Screens 0,1,2 And  
  8. '                Close Them Again When Done  
  9. '  
  10. '    The Text Was Taken From A Game I Wrote (Particle Man) 
  11. '           Available On Assasins 105 (plug! plug!)
  12. '
  13. ' If you use this in your own programs I won't be offended if
  14. '             you mention me in your creditz !!! 
  15. ' *************************************************************
  16. '
  17. FX
  18. End 
  19. '
  20. Procedure FX
  21.    ' *********************
  22.    ' Set up storage screen
  23.    ' *********************
  24.    Screen Open 2,320,256,4,Lowres
  25.    Curs Off : Flash Off 
  26.    Cls 0 : Paper 0 : Pen 1
  27.    Screen Hide 
  28.    '
  29.    ' ********************************** 
  30.    ' Set up top layer of dual playfield 
  31.    ' ********************************** 
  32.    Screen Open 0,320,256,4,Lowres
  33.    Curs Off : Flash Off : Hide 
  34.    Cls 0 : Paper 0 : Pen 1
  35.    Double Buffer 
  36.    '
  37.    ' *************************************
  38.    ' Set up bottom layer of dual playfield
  39.    ' *************************************
  40.    Screen Open 1,320,256,4,Lowres
  41.    Curs Off : Flash Off 
  42.    Cls 0 : Paper 0 : Pen 1
  43.    Double Buffer 
  44.    '
  45.    Wait Vbl 
  46.    Dual Playfield 0,1
  47.    '
  48.    ' ****************************************************** 
  49.    ' Set colour 1 of top layer and colour 1 of bottom layer 
  50.    ' ****************************************************** 
  51.    Screen 0
  52.    Colour 1,$FFF
  53.    Colour 9,0
  54.    '
  55.    SPEED=4 : Rem change me !!!
  56.    '
  57.    ' *********  
  58.    ' Main loop
  59.    ' *********  
  60.    Do 
  61.       ' ******************************************** 
  62.       ' Get page of text and print to storage screen 
  63.       ' ******************************************** 
  64.       Screen 2
  65.       Cls 0
  66.       Home 
  67.       Repeat 
  68.          Read _TEXT$
  69.          If _TEXT$="#" Then Goto HELL : Rem structured programs never were my strong point ! 
  70.          If _TEXT$<>"*"
  71.             Print _TEXT$
  72.          End If 
  73.       Until _TEXT$="*"
  74.       '
  75.       Locate ,30
  76.       Centre "<<Press Fire>>"
  77.       '
  78.       ' *****************************************************  
  79.       ' Copy storage screen to bottom layer of dual playfield  
  80.       ' *****************************************************  
  81.       Screen Copy 2 To 1
  82.       Screen Swap 1
  83.       Screen Copy 2 To 1
  84.       '
  85.       COUNT=16
  86.       Screen 0
  87.       '
  88.       ' *****
  89.       ' Do fx
  90.       ' *****
  91.       Repeat 
  92.          If SPEED>0 and COUNT<>8 Then Wait SPEED
  93.          ' **************************************************************   
  94.          ' Half way through fade/appear fx the layer contents are swapped   
  95.          ' **************************************************************   
  96.          If COUNT=8
  97.             Screen Copy 0 To 1
  98.             Screen Copy 2 To 0
  99.             Screen Swap 
  100.          End If 
  101.          ' ********************************************************** 
  102.          ' Get colour 1 of each layer and either increase or decrease 
  103.          '   value by $111 depending on how far into the fx we are  
  104.          ' ********************************************************** 
  105.          T_C=Colour(1)
  106.          B_C=Colour(9)
  107.          If COUNT>8
  108.             Add T_C,-$111
  109.             Add B_C,$111
  110.          Else 
  111.             Add T_C,$111
  112.             Add B_C,-$111
  113.          End If 
  114.          Colour 1,T_C
  115.          Colour 9,B_C
  116.          Add COUNT,-1
  117.       Until COUNT=0
  118.       '
  119.       ' *******************
  120.       ' Wait for user input
  121.       ' *******************
  122.       Repeat : Until Fire(1)
  123.       '
  124.       ' **************************************************************** 
  125.       ' This is done outside of the main loop for speed. As we are using 
  126.       ' double buffering, each layer of the dual playfield consists of 
  127.       ' two screens. This bit puts the same image of each layer into 
  128.       ' its two screens. 
  129.       ' **************************************************************** 
  130.       Screen Copy 0 To 1
  131.       Screen Copy 2 To 0
  132.       Screen Swap 
  133.       '
  134.       '
  135.    Loop 
  136.    '
  137.    HELL:
  138.    '
  139.    ' ********************************** 
  140.    ' All done so do a bit of tidying up 
  141.    ' ********************************** 
  142.    Screen 0
  143.    ' ****************************** 
  144.    ' Fade out the last page of text 
  145.    ' ****************************** 
  146.    If SPEED>0
  147.       Fade SPEED : Wait 15*SPEED
  148.    Else 
  149.       Fade 1 : Wait 15
  150.    End If 
  151.    For K=0 To 2 : Screen Close K : Next K
  152.    ' -------------------------------------------------------------
  153.    ' *************************************************************
  154.    '
  155.    '            - << Your text here please >> - 
  156.    '
  157.    ' * Indicates end of a page of text
  158.    ' # Indicates end of text
  159.    '
  160.    ' Ensure text fits between the > < markers and it will fit on  
  161.    ' a screen line  
  162.    ' *************************************************************
  163.    '
  164.    _TEXT:
  165.    '    >                                       <             
  166.    Data "THE IDEA WITH PARTICLE MAN IS TO"
  167.    Data "COLLECT AND DISPOSE OF A NUMBER OF"
  168.    Data "BOMBS WHICH ARE PLACED IN THE MAZE AT"
  169.    Data "RANDOM BY THE MONSTERS."
  170.    Data "THE BOMBS HAVE A LIMITED LIFE AND IF"
  171.    Data "LEFT ALONE FOR TOO LONG WILL EXPLODE."
  172.    Data "IF THIS HAPPENS, PARTICLE MAN LOSES"
  173.    Data "SOME ENERGY AND IF ALL HIS ENERGY IS"
  174.    Data "LOST HE LOSES A LIFE. A COLLISION"
  175.    Data "WITH ANY OF THE MONSTERS ALSO RESULTS"
  176.    Data "IN A LOSS OF LIFE."
  177.    Data "AS A WARNING, WHEN A BOMB'S TIMER IS"
  178.    Data "BELOW THE HALF-WAY STAGE, IT WILL FLASH."
  179.    Data " "
  180.    Data "TO DISPOSE OF A BOMB PARTICLE MAN FIRST"
  181.    Data "NEEDS TO ABSORB IT. IF THE BOMBS ARE"
  182.    Data "CLOSE TOGETHER, RUN OVER THE ONE YOU"
  183.    Data "WANT AND PRESS FIRE. IF THE BOMBS ARE"
  184.    Data "FAR APART HOLD DOWN FIRE AND PARTICLE"
  185.    Data "MAN WILL ABSORB THE FIRST BOMB HE"
  186.    Data "ENCOUNTERS. THE BOMB WILL STAY ABSORBED"
  187.    Data "UNTIL YOU LET GO OF THE FIRE BUTTON."
  188.    Data "ONCE PARTICLE MAN HAS ABSORBED A BOMB"
  189.    Data "HE CAN DISPOSE OF IT BY SIMPLY RUNNING"
  190.    Data "OVER A PORTAL."
  191.    Data "*"
  192.    Data "IF A BOMB IS ABSORBED IT'S TIMER IS"
  193.    Data "TEMPORARILY DISABLED AND IF RETURNED"
  194.    Data "TO THE SCREEN (BY LETTING GO OF FIRE)"
  195.    Data "WILL COUNTDOWN FROM THE BEGINING AGAIN."
  196.    Data " "
  197.    Data "TO COMPLETE THE LEVEL YOU MUST DISPOSE"
  198.    Data "OF THE AMOUNT OF BOMBS INDICATED ON THE"
  199.    Data "STATUS PANEL AT THE BOTTOM OF THE"
  200.    Data "SCREEN."
  201.    Data " "
  202.    Data "PARTICLE MAN IS CONTROLLED USING A"
  203.    Data "JOYSTICK IN PORT 1 AND YOU CAN ABORT"
  204.    Data "A GAME BY PRESSING THE <ESC> KEY."
  205.    Data " "
  206.    Data "YOU'LL NEED 1 MEG FOR THIS GAME TO WORK."
  207.    Data "(SORRY 1/2 MEG OWNERS!)"
  208.    Data "*"
  209.    Data "OPTIONS PAGE:"
  210.    Data "MOVE THE JOYSTICK UP AND DOWN TO SELECT"
  211.    Data "AN OPTION AND PRESS FIRE TO CYCLE"
  212.    Data "THROUGH THE SETTINGS."
  213.    Data " "
  214.    Data "LIVES (1-8):"
  215.    Data "A LOW SETTING GIVES YOU A HIGHER SCORE."
  216.    Data " "
  217.    Data "DIFFICULTY (EASY-MANIC!):"
  218.    Data "CHOOSE 'VERY HARD' OR 'MANIC' IF YOU"
  219.    Data "WANT TO PLAY THE WHOLE GAME."
  220.    Data " "
  221.    Data "MUSIC (ON/OFF): OBVIOUS!"
  222.    Data " "
  223.    Data "SOUND (ON/OFF): OBVIOUS!"
  224.    Data " "
  225.    Data "GAME SPEED (SLOW/FAST):"
  226.    Data "IF YOU FIND PARTICLE MAN A BIT"
  227.    Data "DIFFICULT TO CONTROL, TRY THE SLOWER"
  228.    Data "SETTING."
  229.    Data " "
  230.    Data "DIAGONAL MOVEMENT (ON/OFF):"
  231.    Data "TURN OFF TO STOP THE JOYSTICK DIAGONALS"
  232.    Data "FROM BEING READ."
  233.    Data "*"
  234.    Data "SAVE OPTIONS:"
  235.    Data "CHOOSE THIS IF YOU WANT YOUR NEW"
  236.    Data "SETTINGS SAVED ONTO THE DISC. CAREFUL"
  237.    Data "AS THERE IS NO WAY OF GETTING THE"
  238.    Data "ORIGINAL SETTINGS BACK."
  239.    Data " "
  240.    Data "EXIT:"
  241.    Data "TAKES YOU BACK TO THE TITLE PAGE."
  242.    Data "*"
  243.    Data "THIS GAME WAS WRITTEN AND COMPILED"
  244.    Data " "
  245.    Data "USING AMOS AND IS PUBLIC DOMAIN."
  246.    Data " "
  247.    Data " "
  248.    Data " "
  249.    Data " "
  250.    Data "IF ANYBODY HAS ANY COMMENTS ON THIS"
  251.    Data "GAME OR JUST WANTS TO DROP ME A LINE"
  252.    Data "WRITE TO:"
  253.    Data " "
  254.    Data "PAUL NORDOVICS"
  255.    Data "4 KATHARINE STREET"
  256.    Data "MILLOM"
  257.    Data "CUMBRIA LA18 4AQ"
  258.    Data " "
  259.    Data "I AM ALSO LOOKING FOR A DECENT ARTIST"
  260.    Data "TO DO SOME GRAPHICS FOR MY NEXT GAME"
  261.    Data "SO IF YOU WANT TO HELP PLEASE WRITE."
  262.    Data " "
  263.    Data "IF YOU LIKE THIS GAME AND WOULD LIKE AN"
  264.    Data "ENHANCED VERSION CONTAINING MORE LEVELS"
  265.    Data "MONSTERS/MAP EDITOR ETC SEND ï¿½5 TO THE"
  266.    Data "ABOVE ADDRESS."
  267.    Data " "
  268.    Data "HAVE FUN!!!"
  269.    Data "*"
  270.    Data "#"
  271. End Proc